package com.tiancheng.trade.payment.service;

import com.tiancheng.trade.payment.model.CouponSettleDetail;

import java.util.List;

/**
 * @Author: likailun
 * @Description: 优惠券-清分明细
 * @Date: create in 2021/12/16 2:17 下午
 */
public interface CouponSettleDetailService {
    void saveBatch(List<CouponSettleDetail> list);

    /**
     * 根据清分文件名称查询明细
     *
     * @param fileName 文件名
     * @return
     */
    List<CouponSettleDetail> queryByFileName(String fileName);

    /**
     * 更新清分明细状态
     *
     * @param settleDetailBos 明细行
     */
    void updateSettleStatus(List<CouponSettleDetail> settleDetailBos);

    /**
     * 整个清分任务失败
     * @param fileName 清分文件名称
     * @param errorMsg 异常描述
     */
    void settleError(String fileName,String errorMsg);

    /**
     * 获取反交易要关联的转款补贴正交易
     * @param merchantCode 商户编码
     * @param returnAmount 转款反交易金额，返回营销户的总金额
     * @return 被关联的转款补贴记录
     */
    CouponSettleDetail getSourceSettles(String merchantCode,int returnAmount);

    /**
     * 扣件可退的补贴交易金额
     * @param settleId 清分id
     * @param allowReturnAmount 允许扣减的反交易金额
     */
    void updateAllowReturnAmount(String settleId,int allowReturnAmount);
}
